#ifndef CP1252_U_TB_HEADER
#define CP1252_U_TB_HEADER

// this header needs
#include "UNICD.h"

// array with the Unicode of the CP1252 characters that are not mapped as Unicode 
// table to be able to convert CP1252 characters into unicode for better reading
// https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1252.TXT
// https://en.wikipedia.org/wiki/Windows-1252#Code_page_layout

// 0x00 to 0x7F maps the standard ASCII characters
// 0xA0 to 0xFF maps the same characters as unicode
// this table maps the rest of the 0x20 CP1252 char's
// code points to their respective Unicode (0x80 to 0x9F)

// starting CP1252 code point 
// position in the table
#define CP1252_UMAP_TB1_SIZE 0x20
#define CP1252_UMAP_TB1_START 0x80
#define CP1252_UMAP_TB1_END 0x9F

// for the 0xA0 - 0xFF range
#define CP1252_UMAP_TB2_START 0xA0
#define CP1252_UMAP_TB2_END 0xFF

// CP1252 to Unicode table
unicd_int CP1252_UMAP_TB1[CP1252_UMAP_TB1_SIZE] =
{
  0x20AC,
  0x0000, // undefined (0x81)
  0x201A,
  0x0192,
  0x201E,
  0x2026,
  0x2020,
  0x2021,
  0x02C6,
  0x2030,
  0x0160,
  0x2039,
  0x0152,
  0x0000, // undefined (0x8D)
  0x017D,
  0x0000, // undefined (0x8F)
  0x0000, // undefined (0x90)
  0x2018,
  0x2019,
  0x201C,
  0x201D,
  0x2022,
  0x2013,
  0x2014,
  0x02DC,
  0x2122,
  0x0161,
  0x203A,
  0x0153,
  0x0000, // undefined (0x9D)
  0x017E,
  0x0178
};

#endif // CP1252_U_TB_HEADER
